Scheduler Functions
Schedule functions allow you to access specific task information for Drilling, Construction, Pad, Drill to Fill, Expansion, and Maintenance tasks.
The Schedule functions are located on the "Task" tab in the function builder.
Common Schedule Functions
@TaskCapital([Task Name]) | The Entered Total Capital (in $) for the Current or Named Task (including all sub tasks). This is the data as entered. |
@TaskConditionDelay([Task Name]) | The Entered Total Days of delay associated with all conditions on this task or the named one. This is the data as entered. |
@TaskDurationDays([Task Name]) | The Entered Duration in Days for the Current or Named Task (including all sub tasks). This is the data as entered not necessarily the calculated duration due to resource constraints. |
@TaskDurationMonths([Task Name]) | The Entered Duration in Decimal Months (days / 30.4375) for the Current or Named Task (including all sub tasks). This is the data as entered not necessarily the calculated duration due to resource constraints. |
@TaskDurationMonthsInt([Task Name]) | The Entered Duration in Integer Months (rounded from days / 30.4375) for the Current or Named Task (including all sub tasks). This is the data as entered not neccesarily the calculated duration due to resource constraints. |
@TaskDurationYears([Task Name]) | The Entered Duration in Decimal Years (rounded from days / 365.25) for the Current or Named Task (including all sub tasks). This is the data as entered not neccesarily the calculated duration due to resource constraints. |
@TaskOpcostFixed([Task Name]) | The Entered Total Fixed Operating Costs (in $ per month) for the Current or Named Task (including all sub tasks). |
@TaskOpcostPerWell([Task Name]) | The Entered Total Fixed Per Well Operating Costs (in $ per month) for the Current or Named Task (including all sub tasks). |
@TaskOpcostOil([Task Name]) | The Entered Total Variable Oil Operating Costs (in $ per month) for the Current or Named Task (including all sub tasks). |
@TaskOpcostGas([Task Name]) | The Entered Total Variable Gas Operating Costs (in $ per month) for the Current or Named Task (including all sub tasks). |
@TaskOpcostWater([Task Name]) | The Entered Total Variable Water Operating Costs (in $ per month) for the Current or Named Task (including all sub tasks). |
@TaskStart([Task Name]) | The Entered Start Date (Not Before Date) for the Current or Named Task. This is the date entered, not necessarily the actual start date. |
@TaskStartTrigger([Task Name]) | The Start Trigger Function Value. The Start Trigger function is evaluated for either True (1.0) or False (0.0). |
@TaskWaitUntilComplete(Task Name, [duration]) | A boolean function that returns either True (1.0) or False (0.0) if the named task has been completed and the optionally entered delay period has elapsed. Duration is in days unless a sufix of 'm' or 'y' is appended ie. 3m , or 2y. |
Construction Functions
@TaskConstraint([Task Name], Product): The Constraint Rate (rate per day) entered for this Construction Task in the Scheduler (or the named task). Use @Display() to convert from base metric units if required.
Drilling Program functions
@TaskDrillNumCopies([Well Task Name]) | The number of copies of this Well Task Entry to be drilled as Entered for the current task or optionally entered task name. |
@TaskDrillGroupsOf([Drill Entry Name]) | The number in the 'Drill in Groups Of' Field of this Entry for the current task or optionally entered task name. |
@TaskDrillPs([Drill Entry Name]) | The Ps (probability of success) override factor as entered for the current task or optionally entered task name. |
@TaskDrillPo([TDrill Entry Name]) | The Po (probability of opportunity) override factor as entered for the current task or optionally entered task name. |
@TaskDrillRateReservesFactor([Well Task Name]) | The Rate and Reserves override factor as entered for the current task or optionally entered task name. |
@TaskDrillCapitalFactor([Well Task Name]) | The Capital override factor as entered for the current task or optionally entered task name. |
@TaskDrillNumSteps([Well Task Name]) | The number of active drilling and completions steps for this Drilling Well Task Entry or the optionally entered drilling well task entry task name. This value will always be equal or greater than 1. |
@TaskDrillMobDuration([Well Task Name], Drilling Step #) | The Mobilization duration in days for the current Drilling Well Task Entry task step or optionally entered task name. |
@TaskDrillDuration([Well Task Name]], Drilling Step #) | The Drilling duration in days for the current Drilling Well Task Entry task step or optionally entered task name. |
@TaskDrillDeMobDuration([Well Task Name]], Drilling Step #) | The DeMobilization duration in days for the current Drilling Well Task Entry task step or optionally entered task name. |
@TaskDrillMobCost([Well Task Name] ], Drilling Step #) | The Mobilization Cost (in base $) for the current Drilling Well Task Entry task step or optionally entered task name. |
@TaskDrillCost1([Well Task Name] ], Drilling Step #) | The Drilling Fixed Cost 1 (in base $) for the current Drilling Well Task Entry task step or optionally entered task name. |
@TaskDrillCost2([Well Task Name] ], Drilling Step #) | The Drilling Fixed Cost 1 (in base $) for the current Drilling Well Task Entry task step or optionally entered task name. |
@TaskDrillDeMobCost([Well Task Name]], Drilling Step #) | The DeMobilization Cost (in base $) for the current DrillingWell Task Entry task step or optionally entered task name. |
Fill Facility Functions
@TaskFillTrigger([Fill Facility Name]) | The Minimum Capacity Trigger Fraction (0-1) for the current Fill Facility task or optionally entered task name. |
@TaskFillTarget([Fill Facility Name]) | The Maximum ReFill Target Fraction (0-1) for the current Fill Facility task or optionally entered task name. |
Expand Facility Functions
@TaskExpandNumEnties([Expand Name]) | The number of Expansion Entries for the current Expand Facility task or optionally entered task name. |
@TaskExpandNumExpansion([Expand Name], Entry Number) | The number of Expansions entered for the current Expand Facility Entry task or optionally entered task name. |
@TaskExpandOil([Expand Name], Entry Number) | The Oil Capacity Expansion entered (as a Rate in m3/d) for the current Expand Facility Entry task or optionally entered task name. |
@TaskExpandGas([Expand Name] , Entry Number) | The Gas Capacity Expansion entered (as a Rate in e3m3/d) for the current Expand Facility Entry task or optionally entered task name. |
@TaskExpandWater([Expand Name], Entry Number) | The Water Capacity Expansion entered (as a Rate in m3/d) for the current Expand Facility Entry task or optionally entered task name. |
@TaskExpandLiquid([Expand Name], Entry Number) | The Liquid Capacity Expansion entered (as a Rate in m3/d) for the current Expand Facility Entry task or optionally entered task name. |
@TaskExpandSulfur([Expand Name], Entry Number) | The Sulfur Capacity Expansion entered (as a Rate in m3/d) for the current Expand Facility Entry task or optionally entered task name. |
@TaskExpandInjWater([Expand Name], Entry Number) | The Injected Water / Steam Capacity Expansion entered (as a Rate in m3/d) for the current Expand Facility Entry task or optionally entered task name. |
Maintenance Functions
@TaskMaintRepeatEvery([Task Name]) | The Maintenance task's Repeat Every value as entered for the current Maintenance task or optionally entered task name. |
@TaskMaintRepeatTimes([Task Name]) | The Maintenance task's Repeat Times value as entered for the current Maintenance task or optionally entered task name. |
Trigger Functions
One purpose of these Trigger Functions is to use them in conjunction with a user data table to adjust the Rate Acceleration Factor on a Well's decline based on proximity to a well it shut-in. Use the function @TriggeredShutIn on the well causing the shut-in to find the period when it occurs, find the proximity of the shut-in using @TriggeredHaloDistance, and look up this distance value in a user data table to find a new RAF.
e.g., This would be the function in the RAF input to scale the RAF when a Frac occurs (where RAFScaleLookup is a user data table:
=@If(@TriggeredShutIn(Frac)>(-1), @LookUp(RAFScaleLookup, @display(Imperial,Length,Medium,@TriggeredHaloDistance(Frac)),2), 1)